package com.up.upzl.biz.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.up.upzl.base.service.BaseService;
import com.up.upzl.biz.domain.SysAccount;
import com.up.upzl.biz.domain.SysApp;

/**
 * 后台用户服务
 * 
 * @author geeks
 *
 */
public interface SysAccountService extends BaseService<SysAccount, Long> {
	/**
	 * 根据用户名和账户查询用户
	 * 
	 * @return Page<Object>
	 */
	Page<SysAccount> findByCondition(String name, String account, Pageable page);

	/**
	 * 根据账户和密码查询
	 * 
	 * @param account
	 *            账号
	 * @param password
	 *            密码
	 * @return 账号对象
	 */
	SysAccount findByAccountAndPassword(String account, String password);

	SysAccount findAccountByAccount(String account);

	/**
	 * 根据用户ID查询权限
	 * 
	 * @param id
	 *            用户ID
	 * @return 权限列表
	 */
	List<SysApp> getSysAppsByUserId(Long id);

	/**
	 * 根据角色名查找所有用户
	 * 
	 * @param name
	 * @return
	 */
	List<SysAccount> findAccountByRoleName(String name);

}
